﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class actualizar_libros : System.Web.UI.Page
{
    DataTable dt_libros,dt_escuelas;
    conectividad_bdd_procesos bdd_procesos;//instanciar la clase conectividad_bdd_procesos
   
    //cadena o ruta dond s encuentra nuestra bdd 
    string cadena = "Data Source=ALEXMIGUEL-PC\\SQLEXPRESS;Initial Catalog=bdd_preservación_documental_puce_si;Integrated Security=True";
    int id_escuelaX = -1;
    protected void Page_Load(object sender, EventArgs e)
    {
        activar_desactivar(false, 0);
        if (IsPostBack == false)//al momento d cargarse
        {
            bdd_procesos = new conectividad_bdd_procesos(cadena);
            bdd_procesos.abrir_coneccion();
            //escuelas departamentos
            dt_escuelas = bdd_procesos.select_t_escuelasX_mostrar_usuarios("select_t_escuelasX_mostrar_usuarios");//mostrar todas las escuelas/departamentos y obtenerle en una tabla
            bdd_procesos.mostrar_combo_info(dt_escuelas, cmb_escuela_departamento, "escuela_descripcion", "id_escuela");//mediante la tabla obtenida mostrar los datos en l combo box
            bdd_procesos.cerrar_coneccion();
       
            if (dt_escuelas.Rows.Count < 0)//si hay registros en la bdd muestra
            {


                mensaje("No existe Departamentos/Escuelas");//CUANDO LA TABLA DEPARTAMENTOS NO EXISTE DATOS
                activar_desactivarBonotes(false);
             
            }
            else
            {
                //mostrar informacion de los libros ingresados por los usuarios
                 dt_libros= libros_info(dt_libros);
                // Y mostrar el primer registro
                if (dt_libros.Rows.Count > 0)
                {
                    btnprimero_Click(null, null);
                }
                else
                {
                    fila = -1;
                    btn_guardar_libro.Enabled = false;
                    activar_desactivarBonotes(false);
                    mensaje("No existe Datos que Actualizar.");
                }
            }

        }
       
    }
  
    //muestra mensajes x ventana
    public void mensaje(string v_msg)
    {
        Response.Write("<script language='javascript'>");
        Response.Write("alert" + "('" + v_msg + "')");
        Response.Write("</script>");

    }
    public DataTable libros_info(DataTable dt)
    {
        bdd_procesos = new conectividad_bdd_procesos(cadena);
        bdd_procesos.abrir_coneccion();

        dt = bdd_procesos.select_t_escuelasX_mostrar_usuarios("select_t_libros_mostrar_usuarios");//mostrar todas las escuelas/departamentos y obtenerle en una tabla
        bdd_procesos.cerrar_coneccion();
        return dt;
    }
    int id_libros;
    private void mostrarDatos(int f )
    {
        dt_libros = libros_info(dt_libros);
        
        int uf = dt_libros.Rows.Count - 1;
        if (f < 0 || uf < 0) return;
        //
        id_libros=int.Parse(dt_libros.Rows[f][0].ToString());
        lblidlibro.Text = id_libros.ToString();
        txtDepartamento.Text = dt_libros.Rows[f][1].ToString();//Escuela
        txt_autores.Text = dt_libros.Rows[f][2].ToString(); ;//autores
        txt_titulo_libro.Text = dt_libros.Rows[f][3].ToString(); //libros titulo
        txtDia.Text = dt_libros.Rows[f][4].ToString();//dia
        txtMes.Text = dt_libros.Rows[f][5].ToString();//mes
        txtAño.Text = dt_libros.Rows[f][6].ToString();//año
        txtedicionNo.Text = dt_libros.Rows[f][7].ToString();//edicion N0
        txtPais.Text = dt_libros.Rows[f][8].ToString();//pAIS
        txtCiudad.Text = dt_libros.Rows[f][9].ToString();//CIUDAD
        txtEditorial.Text = dt_libros.Rows[f][10].ToString();//EDITORIAL
        txtISBN.Text = dt_libros.Rows[f][11].ToString();//ISBN
        txtIEPI.Text = dt_libros.Rows[f][12].ToString();//IEPI
        txtNoPag.Text = dt_libros.Rows[f][13].ToString();//NUMERO DE PAGINAS
        txtFisicament_reposa.Text = dt_libros.Rows[f][14].ToString();//LUGAR DOND ESTA REPOSANDO
        txt_tomador_red_mundial.Text = dt_libros.Rows[f][15].ToString();//TOMADO DE LA RED MUNDIAL
       
      
    }
    public void activar_desactivarBonotes(bool activar_desas)
    {
        btn_guardar_libro.Enabled = activar_desas;
        btnAtras.Enabled = activar_desas;
        btnEditar.Enabled = activar_desas;
        btnprimero.Enabled = activar_desas;
        btnSiguiente.Enabled = activar_desas;
        btnAtras.Enabled = activar_desas;
        btnUltimo.Enabled = activar_desas;

    }
    protected void btn_guardar_libro_Click(object sender, EventArgs e)
    {
        bdd_procesos = new conectividad_bdd_procesos(cadena);
        bdd_procesos.abrir_coneccion();
        //escuelas departamentos
        id_escuelaX = int.Parse(cmb_escuela_departamento.SelectedValue.ToString());
        id_libros = int.Parse(lblidlibro.Text);
        string msj = bdd_procesos.actualizar_t_libros(id_libros, id_escuelaX, txt_autores.Text, txt_titulo_libro.Text, txtDia.Text, cmb_meses.SelectedValue.ToString(), txtAño.Text, txtedicionNo.Text, txtPais.Text, txtCiudad.Text, txtEditorial.Text, txtISBN.Text, txtIEPI.Text, txtNoPag.Text, txtFisicament_reposa.Text, txt_tomador_red_mundial.Text, "actualizar_t_libros");//mostrar todas las escuelas/departamentos y obtenerle en una tabla
        mensaje(msj);
        bdd_procesos.cerrar_coneccion();

    }
    int fila;
    protected void btnprimero_Click(object sender, EventArgs e)
    {
        // Posicionarse en la primera fila
        fila = 0;
        lblRegistro.Text = (fila+1).ToString();
        // Mostrar los datos de la fila indicada
        mostrarDatos(fila);
    }
    protected void btnUltimo_Click(object sender, EventArgs e)
    {
        dt_libros = libros_info(dt_libros);
        // Posicionarse en la última fila
        fila = dt_libros.Rows.Count - 1;
        lblRegistro.Text = (fila+1).ToString();
        // Mostrar los datos de la fila indicada
        mostrarDatos(fila);
    }
    protected void btnSiguiente_Click(object sender, EventArgs e)
    {

        // Posicionarse en la fila siguiente
        dt_libros = libros_info(dt_libros);
        int uf = dt_libros.Rows.Count - 1;
        
        fila = (int.Parse(lblRegistro.Text)-1) + 1;
        if (fila > uf) fila = uf;
        // Mostrar los datos de la fila indicada
        mostrarDatos(fila);
        lblRegistro.Text = (fila+1).ToString();
    }
    protected void btnAtras_Click(object sender, EventArgs e)
    {
        // Posicionarse en la fila anterior

        fila = (int.Parse(lblRegistro.Text) - 1)-1;
        if (fila < 0) fila = 0;
        // Mostrar los datos de la fila indicada
        mostrarDatos(fila);
        lblRegistro.Text = (fila + 1).ToString();
    }
    protected void btnEditar_Click(object sender, EventArgs e)
    {
        //cmb_escuela_departamento.Visible = true;
        //cmb_meses.Visible = true;
        activar_desactivar(true, 1);
    }
    //activa y desactiva
    public void activar_desactivar(bool Ac_Des,int Act_mostrar)
    {
        if(Act_mostrar==0)//AL CARGAR POR PRIMERA VES MUESTRA
        {
        txtDepartamento.Enabled=Ac_Des;//Escuela
        cmb_escuela_departamento.Visible = false;
        txt_autores.Enabled=Ac_Des;//autores
        txt_titulo_libro.Enabled=Ac_Des; //libros titulo
        txtDia.Enabled=Ac_Des;//dia
        txtMes.Enabled=Ac_Des;//mes
        cmb_meses.Visible = false;
        txtAño.Enabled=Ac_Des;//año
        txtedicionNo.Enabled=Ac_Des;//edicion N0
        txtPais.Enabled=Ac_Des;//pAIS
        txtCiudad.Enabled=Ac_Des;//CIUDAD
        txtEditorial.Enabled=Ac_Des;//EDITORIAL
        txtISBN.Enabled=Ac_Des;//ISBN
        txtIEPI.Enabled=Ac_Des;//IEPI
        txtNoPag.Enabled=Ac_Des;//NUMERO DE PAGINAS
        txtFisicament_reposa.Enabled=Ac_Des;//LUGAR DOND ESTA REPOSANDO
        txt_tomador_red_mundial.Enabled=Ac_Des;//TOMADO DE LA RED MUNDIAL
        btn_guardar_libro.Enabled = Ac_Des;
        }
        else //AL REALIZAR ACTUAALIZAR
        {
            txtDepartamento.Enabled = false;//Escuela
            cmb_escuela_departamento.Visible = Ac_Des;
            txt_autores.Enabled = Ac_Des;//autores
            txt_titulo_libro.Enabled = Ac_Des; //libros titulo
            txtDia.Enabled = Ac_Des;//dia
            txtMes.Enabled = false;//mes
            cmb_meses.Visible = Ac_Des;
            txtAño.Enabled = Ac_Des;//año
            txtedicionNo.Enabled = Ac_Des;//edicion N0
            txtPais.Enabled = Ac_Des;//pAIS
            txtCiudad.Enabled = Ac_Des;//CIUDAD
            txtEditorial.Enabled = Ac_Des;//EDITORIAL
            txtISBN.Enabled = Ac_Des;//ISBN
            txtIEPI.Enabled = Ac_Des;//IEPI
            txtNoPag.Enabled = Ac_Des;//NUMERO DE PAGINAS
            txtFisicament_reposa.Enabled = Ac_Des;//LUGAR DOND ESTA REPOSANDO
            txt_tomador_red_mundial.Enabled = Ac_Des;//TOMADO DE LA RED MUNDIAL
            btn_guardar_libro.Enabled = Ac_Des;
        }
    }
    protected void cmb_escuela_departamento_SelectedIndexChanged(object sender, EventArgs e)
    {
        id_escuelaX = int.Parse(cmb_escuela_departamento.SelectedValue.ToString());//obtenemos el id propio al seleccionar l departamento o escuela
        if (id_escuelaX > 0)
        {
            id_escuelaX = int.Parse(cmb_escuela_departamento.SelectedValue.ToString());//obtenemos el id propio al seleccionar l departamento o escuela

        }
    }
}